package com.example.demo1;

/**
 * 抽象装饰类 - 装饰者模式的核心
 */
public class Decorator extends Component {

    // 维持一个对 抽象构建对象的引用
    private Component component;

    //通过构造注入一个抽象构建类性的对象
    public Decorator(Component component) {
        this.component = component;
    }


    @Override
    public void operation() {
        //调用原来的业务方法,并没有真正的进行装饰,而是提供了一个统一的接口
        component.operation();
    }
}
